import { AUDIT_STATUS } from '@/constants/common/audit-status';
import { BLOG_STATUS } from '@/constants/common/blog-status';
/**
 * 查询参数
 */
export interface BlogQuery {
  page?: number;
  limit?: number;
}

/**
 * 卡片列表 查询参数
 */
export interface BlogQueryParam extends PageQuery {
  blogTitle?: string;
  categoryId?: string;
  keyword?: string;
  blogStatus?: BLOG_STATUS;
  reviewStatus?: AUDIT_STATUS;
  userId?: string;
}

/**
 * 博客详细
 */
export interface BlogInfo {
  blogId?: string;

  rowNumber?: number;

  blogTitle: string;

  avatar?: string;

  author?: string;

  blogSubUrl?: string;

  blogCoverImage: string;

  imageBase64Str?: string;

  blogCategoryId?: string;

  blogCategoryName?: string;

  blogTags: string[];

  blogStatus?: string;

  blogStatusName?: string;

  blogViews?: number;

  likes?: number | string;

  importance?: boolean;

  enableComment?: boolean;

  isDeleted?: boolean;

  publishTime?: Date;

  createTime?: Date;

  createBy?: string;

  updateTime?: Date;

  updateBy?: string;

  blogContent: string;

  blogContentType?: string;

  collectionId?: string;
}

export interface BlogResponse {
  list: BlogInfo[];
  total: number;
}

export interface BlogQueryParam {
  pageNum: number;
  pageSize: number;
  categoryId?: string;
  userId?: string;
}
